package escenario;

public class Cuadra {
	public enum Sentido {
		NORTE, SUR, ESTE, OESTE
	}
	private String id;
	private Cruce cruceOrigen;
	private Cruce cruceDestino;
	private Sentido sentido;
	
	public Cuadra(String id, Cruce cruceOrigen, Cruce cruceDestino,Sentido sentido) {
		this.id = id;
		this.cruceOrigen = cruceOrigen;
		this.cruceDestino = cruceDestino;
		this.sentido = sentido;
	}
	
	/**Devuelve el tipo de conexion del cruce con la cuadra*/
	public Sentido getConexionCruce(Cruce cruce){
		Sentido s = null;
		if (cruce.equals(cruceOrigen)){
			s = this.sentido;
		}
		else if(cruce.equals(cruceDestino)){
			switch(sentido){
				case NORTE: s = Sentido.SUR; break;
				case SUR: s = Sentido.NORTE; break;
				case OESTE: s = Sentido.ESTE; break;
				case ESTE: s = Sentido.OESTE; break;
			}
		}
		return s;
	}
	
	public Cruce getCruceOrigen() {
		return cruceOrigen;
	}
	public Cruce getCruceDestino() {
		return cruceDestino;
	}
	public String getId(){
		return this.id;
	}
	public Sentido getSentido(){
		return this.sentido;
	}
	public String toString(){
		return  "Cuadra " + this.id;
	}
}
